<?php
/**
 * @author Julien Couture, Guillaume Tostain, Théo Portois
 * @version 1.0.0
 * @date 04/11/2014
 * @brief Controlleur des statistiques/profil
 * @details Controlleur de la classe Score comportant toute les fonctions associées aux statistiques/score
 */
class cStatistiqueJoueur extends \BaseController {
	
	public function index($params="") {
		
		$this->refresh();
	}
	
	/**
	 * @brief Affiche le profil et les statistiques du joueur
	 * @details	Affiche le profil et les statistiques du joueur et envoie toutes les données sous forme de tableau
	 */
	public function refresh(){
		$this->loadView("vHeader");
		$this->loadView("vStatistiqueJoueur", array("joueur"=>$this->afficheJoueur(),"statistique"=>$this->loadStatistiqueByJoueur()));
		echo JsUtils::doSomethingOn('#modifMdp', "hide");
		echo JsUtils::doSomeThingAndBindTo(".modifierMdp", "click", '#modifMdp', "show");
		echo JsUtils::doSomeThingAndBindTo("#fermerMdp", "click", '#modifMdp', "hide");
		echo JsUtils::postFormAndBindTo("#btPasswd", "click", "/trivia/cStatistiqueJoueur/modifMdp", 'frmMdp', "#divResult");
		
	}
	
	
	/**
	 * @return Joueur Le joueur connecté
	 * @brief Retourne le joueur connecté
	 */
	public function afficheJoueur(){
		$idJoueur=$_SESSION['joueur1']->getId();
		return DAO::getOne("Joueur","id=".$idJoueur);
	}
	
	
	
 	/**
 	 * @param Domaine $domaine Le domaine de la question
 	 * @return Statistiques La statistiques du Joueur
 	 * @brief Charge la statistique du joueur en fonction au domaine
 	 */
 	public static function loadStatistique($domaine){
		$joueur = CJoueur::loadPlayer();
		return DAO::getOne("Statistiques", "iddomaine=".$domaine->getId(), "idJoueur=".$joueur->getId());
	}
	
	
	

	/**
	 * @param Statistiques $statistique La statistique d'un joueur par rapport au domaine
	 * @brief Cr�er une statistique si elle n'existe pas sinon incr�mente
	 */
	public static function updateStatistique($statistique,$domaine){
		if($statistique == null){
			CReponse::createStatistique($domaine);
		}
		else{
			CReponse::incStat($statistique);
		}
	}
	
	
	public function loadStatistiqueByJoueur(){
		$joueur=CJoueur::loadPlayer();
		return DAO::getAll("Statistiques", "idjoueur=".$joueur->getId());
	}
	


	
	
	/**
	 * @return Statistiques Les statistiques du joueur connecté
	 * @brief Retourne les statistiques du joueur connecté
	 */
	public function afficheStat(){
		$idJoueur=$_SESSION['joueur1']->getId();
		return DAO::getOne("Statistiques","idJoueur=".$idJoueur);
	}
	
	
	
	
	
	
	/**
	 * @param string $params Le formulaire
	 * @brief Change le mot de passe du joueur
	 * @details Modifie le mot de passe du joueur et retourne si cela a marché
	 */
	public function modifMdp($params){
		$joueur=$_SESSION['joueur1'];
		if ($_POST['password']==$_SESSION['joueur1']->getPassword()){
			if ($_POST['passwordNew']==$_POST['passwordNew1']){
				$joueur->setPassword($_POST['passwordNew']);
				DAO::update($joueur);
				echo "Mot de passe modifier avec succés."; 
			}
			else{
				echo 'Les 2 mots de passe ne correspondent pas.';
			}
		}
		else{
			echo 'Votre ancien mot de passe est erroné.';
		}
		//$joueur->setPassword($_POST['passwordNew1']);
	}
	
	
	
}